import { defineStore } from 'pinia'

// 定义一个状态存储库
// 参数1：库名
// 参数2：仓库定义的state、actions、getters
// 返回值：函数。页面中调用这个函数，返回存储库数据
export default defineStore('info', {
  //state 定义变量
  state: () => {
    return {
      count: 99,
      numArr: [1, 2, 3, 4]
    }
  },
  //定义方法，操作state中的变量
  actions: {
    updateCount(span: number) {
      this.count += span
    }
  },
  //类似计算属性（比如，state中的数据a变化了，计算属性b依赖该数据a，b也会变化）
  getters: {
    total():number {
      //数字求和
      const res = this.numArr.reduce((pre: number, cur: number) => {
        return pre + cur
      })
      console.log(res)
      return res
    }
  }
})
